statusicon: Avoid criticals
authorMatthias Clasen <mclasen@redhat.com>
Mon, 28 Dec 2015 15:27:08 +0000 (10:27 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 28 Dec 2015 15:27:08 +0000 (10:27 -0500)
The code handles the possibility of pixbuf being NULL, but
after b411c318321fd4de556926119cbc6e3ba14f073a we must be
prepared for surface already being NULL. Pointed out by
Albert Muktupāvels,

https://bugzilla.gnome.org/show_bug.cgi?id=759917

gtk/deprecated/gtkstatusicon.c

index 627a291f5b714d94c1f39e3ee92f66b4ceca2a2a..29ccf77d235020955a007992415ff018bf7a6943 100644 (file)
@@ -1399,8 +1399,13 @@ gtk_status_icon_update_image (GtkStatusIcon *status_icon)
   _gtk_icon_helper_set_icon_size (icon_helper, GTK_ICON_SIZE_SMALL_TOOLBAR);
   _gtk_icon_helper_set_pixel_size (icon_helper, round_size);
   surface = gtk_icon_helper_load_surface (icon_helper, 1);
-  pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, round_size, round_size);
-  cairo_surface_destroy (surface);
+  if (surface)
+    {
+      pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, round_size, round_size);
+      cairo_surface_destroy (surface);
+    }
+  else
+    pixbuf = NULL;
   g_object_unref (icon_helper);
 
   if (pixbuf != NULL)